package cc.rengu.igas.bomp.facade;

import cc.rengu.igas.bomp.facade.request.*;
import cc.rengu.igas.bomp.facade.response.*;
import cc.rengu.igas.bomp.facade.result.Result;

/**
 * Created by zhangxuran on 2020/04/02
 */
public interface BompMchntInspectService {

    /**
     * 发送商户巡检通知
     *
     * @param mchntInspectNoticeRequest 发送商户巡检通知请求类
     * @return 发送商户巡检通知结果
     */
    Result<MchntInspectNoticeResponse> mchntInspectNotice(MchntInspectNoticeRequest mchntInspectNoticeRequest);


    /**
     * 商户巡检任务列表查询
     *
     * @param mchntInspectTaskListQueryRequest 商户巡检任务列表查询请求类
     * @return 商户巡检任务列表查询结果
     */
    Result<MchntInspectTaskListQueryResponse> mchntInspectTaskListQuery(MchntInspectTaskListQueryRequest mchntInspectTaskListQueryRequest);

    /**
     * 新建商户巡检任务商户列表查询
     *
     * @param inspectTaskMchntListQueryRequest 新建商户巡检任务商户列表查询请求类
     * @return 新建商户巡检任务商户列表查询结果
     */
    Result<InspectTaskMchntListQueryResponse> needInspectMchntListQuery(InspectTaskMchntListQueryRequest inspectTaskMchntListQueryRequest);

    /**
     * 巡检任务详情列表查询
     *
     * @param inspectTaskDetailListQueryRequest 巡检任务详情列表查询请求类
     * @return 巡检任务详情列表查询结果
     */
    Result<InspectTaskDetailListQueryResponse> inspectTaskDetailListQuery(InspectTaskDetailListQueryRequest inspectTaskDetailListQueryRequest);

    /**
     * 商户巡检信息详情查询
     *
     * @param mchntInspectInfoQueryRequest 商户巡检信息详情查询请求类
     * @return 商户巡检信息详情查询结果
     */
    Result<MchntInspectInfoQueryResponse> mchntInspectInfoQuery(MchntInspectInfoQueryRequest mchntInspectInfoQueryRequest);

    /**
     * 商户巡检信息管理
     *
     * @param mchntInspectInfoManagerRequest 商户巡检信息管理请求类
     * @return 商户巡检信息管理结果
     */
    Result<MchntInspectInfoManagerResponse> mchntInspectInfoManager(MchntInspectInfoManagerRequest mchntInspectInfoManagerRequest);

    /**
     * 商户巡检记录查询
     *
     * @param mchntInspectListQueryRequest 商户巡检记录查询请求类
     * @return 商户巡检记录查询结果
     */
    Result<MchntInspectListQueryResponse> mchntInspectListQuery(MchntInspectListQueryRequest mchntInspectListQueryRequest);
}
